package com.ruoyi.qrCode.service;

import java.util.List;

import com.ruoyi.distributionPoster.domain.QRCodeResult;
import com.ruoyi.qrCode.domain.QrCode;
import com.ruoyi.qrCode.domain.BusinessQRCodeRequest;
import com.ruoyi.qrCode.domain.BusinessQRCodeResult;

/**
 * 二维码日志管理Service接口
 * 
 * @author ruoyi
 * @date 2025-08-02
 */
public interface IQrCodeService 
{
    /**
     * 查询二维码日志管理
     * 
     * @param qrCodeId 二维码日志管理主键
     * @return 二维码日志管理
     */
    public QrCode selectQrCodeByQrCodeId(Long qrCodeId);

    /**
     * 查询二维码日志管理列表
     * 
     * @param qrCode 二维码日志管理
     * @return 二维码日志管理集合
     */
    public List<QrCode> selectQrCodeList(QrCode qrCode);

    /**
     * 新增二维码日志管理
     * 
     * @param qrCode 二维码日志管理
     * @return 结果
     */
    public int insertQrCode(QrCode qrCode);

    /**
     * 修改二维码日志管理
     * 
     * @param qrCode 二维码日志管理
     * @return 结果
     */
    public int updateQrCode(QrCode qrCode);

    /**
     * 批量删除二维码日志管理
     * 
     * @param qrCodeIds 需要删除的二维码日志管理主键集合
     * @return 结果
     */
    public int deleteQrCodeByQrCodeIds(Long[] qrCodeIds);

    /**
     * 删除二维码日志管理信息
     * 
     * @param qrCodeId 二维码日志管理主键
     * @return 结果
     */
    public int deleteQrCodeByQrCodeId(Long qrCodeId);

    /**
     * 生成业务商品二维码
     *
     * @param request 业务商品二维码请求参数
     * @return 业务商品二维码生成结果
     */
    BusinessQRCodeResult generateBusinessQRCode(BusinessQRCodeRequest request);

    /**
     * 生成商品二维码
     *
     * @param qrCodeRequest 商品二维码请求参数
     * @return 商品二维码生成结果
     */
    BusinessQRCodeResult generateSkuQRCode(BusinessQRCodeRequest qrCodeRequest);
}
